博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day71 菜单的排序 点击被选中
阅读量:5958 次
发布时间:2019-06-19

本文共 2236 字,大约阅读时间需要 7 分钟。

菜单的排序:(给菜单设置权重,权重高的让他显示在上面)

 

from django import templatefrom django.conf import settingsfrom collections import OrderedDictimport reregister = template.Library()@register.inclusion_tag('menu.html')def menu(request):    menu_dict = request.session[settings.MENU_SESSION_KEY]    order_dict=OrderedDict()    ret=sorted(menu_dict,key=lambda x:menu_dict[x]['weight'],reverse=True)    for i in ret:        order_dict[i] = menu_dict[i]    for r in order_dict.values():        r['class']='hide'        for i in r['children']:            if re.match(r'^{}$'.format(i['url']),request.path_info):                i['class'] = 'active'                r['class']= ''    return {
'menu_list': order_dict.values()}

menu.html文件

{
% for menu in menu_list %}
{
{ menu.title }}
{
% for child in menu.children %}
{
{ child.title }}
{% endfor %}
{
% endfor %}
menu.html标签

点击后被选中

 

 自定义标签.rbac.py中 :

from django import templatefrom django.conf import settingsfrom collections import OrderedDictimport reregister = template.Library()@register.inclusion_tag('menu.html')def menu(request):    menu_dict = request.session[settings.MENU_SESSION_KEY]    order_dict=OrderedDict()    ret=sorted(menu_dict,key=lambda x:menu_dict[x]['weight'],reverse=True)    for i in ret:        order_dict[i] = menu_dict[i]    for r in order_dict.values():        for i in r['children']:            if re.match(r'^{}$'.format(i['url']),request.path_info):                i['class'] = 'active'    return {'menu_list': order_dict.values()}

  menu.html文件

{#
#}{#{% for menu in menu_list %}#}{#
#}{# {
{ menu.title }}
#}{#{% endfor %}#}{#
#}
{% for menu in menu_list %}
{
{ menu.title }}
{% for child in menu.children %}
{
{ child.title }}
{% endfor %}
{% endfor %}

  

转载于:https://www.cnblogs.com/zty1304368100/p/10574123.html

你可能感兴趣的文章
js删除数组里的某个元素
查看>>
XP/win7下maven安装详解
查看>>
【MySql】2.mysql约束
查看>>
JAVA打开指定网页
查看>>
PHP如何实现页面静态化
查看>>
HDU 4371 Alice and Bob
查看>>
软测第一次lab 实验报告
查看>>
Hadoop分布式文件系统:架构和设计要点 - 转
查看>>
4.EGit基本用法
查看>>
Android FrameWork——Binder机制详解(2)
查看>>
面向对象的Shell脚本
查看>>
那一抹秋色!漂亮的秋天风景壁纸【组图】
查看>>
解密gzip压缩的网页数据流(转)
查看>>
手工建库
查看>>
Vue beforeRouteEnter 的next执行时机
查看>>
下班后这9件事,决定不同的人生
查看>>
Cocoa Touch事件处理流程--响应者链
查看>>
MSSQL注入
查看>>
10个开发中常用的PHP代码样例
查看>>
JavaScript数组小方法
查看>>